import numpy as np

_list = [1, 2, 3, 6]
_tuple = (1, 2, 4, 5)
_dict = {'a': 1, 'b': 5, 'c': 6}
_arange = np.arange(3, 8)
print(_list, '==================', *_list)
print(_tuple, '==================', *_tuple)
print(_dict, '==================', *_dict)
print(_arange, '==================', *_arange)


def add(x, y):
    return x + y


# 列表前面加星号作用是将列表解开（unpacke）成多个独立的参数，传入函数。
a = [1, 4]
c = (2, 3)
print(add(*a))
print(add(*c))


# 字典前面加两个星号，是将字典解开成为独立的元素作为实参。
# 字典中的key和函数中的参数名，保持一致， 不然会报错
def add_ab(a, b):
    return a + b


data = {'a': 8, 'b': 9}
print('add(**data)=====', add_ab(**data))
print('add(*data)=====', add_ab(*data))
